package com.soo.hoo.core.event;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serial;
import java.io.Serializable;

/**
 * <p>操作日志事件</p>
 *
 * @author 杨燚
 * @since 2024/1/10
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OperateLogEvent implements Serializable {

    @Serial
    private static final long serialVersionUID = 7622207485968603636L;


    /**
     * 模块标题
     */
    private String title;

    /**
     * 业务类型；1：登录；2：新增；3：修改；4：删除；0：其他
     */
    private Integer businessType;

    /**
     * java方法名称
     */
    private String methodName;

    /**
     * 请求方法，GET,POST...
     */
    private String requestMethod;

    /**
     * 操作设备类型；1：PC端；2：移动端（h5、小程序）；0：其他
     */
    private Integer operatorType;

    /**
     * 操作人员姓名
     */
    private String operatorName;

    /**
     * 操作人员所在部门（主部门）
     */
    private String operatorDept;

    /**
     * 请求url，操作资源路径
     */
    private String operatorUrl;

    /**
     * 操作ip
     */
    private String operatorIp;

    /**
     * 操作地
     */
    private String operatorLocation;

    /**
     * 请求参数
     */
    private String operatorParam;

    /**
     * 响应结果
     */
    private String operatorResult;

    /**
     * 操作状态；0：异常；1：正常
     */
    private Integer status;

    /**
     * 消耗时间
     */
    private Long costTime;
}
